﻿//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using Microsoft.Practices.EnterpriseLibrary.ExceptionHandling;
//using Infrastructure.Aspect.Constants;
//using System.Data.SqlClient;
//using System.Configuration;
//using S3System.BusinessEntities; 
//namespace S3System.DataAccess
//{
//    public class CustomerAdoRepository : ICustomerRepository
//    {
//        #region ICustomerRepository Members

//        public void Add(BusinessEntities.Customer item)
//        {
//            SqlConnection con = null;
//            try
//            {
//                string str = ConfigurationManager.ConnectionStrings[Constants.ConnectionNames.S3Connection].ConnectionString;
//                con = new SqlConnection(str);
//                var cmd = con.CreateCommand();
//                cmd.CommandText = "insert into  Customers values (@Id,@FirstName,@LastName,@BirthDate)";
//                cmd.Parameters.AddWithValue("@Id", item.Id);
//                cmd.Parameters.AddWithValue("@FirstName", item.FirstName);
//                cmd.Parameters.AddWithValue("@LastName", item.LastName);
//                cmd.Parameters.AddWithValue("@BirthDate", item.BirthDate);
//                con.Open();
//                cmd.ExecuteNonQuery();

//            }
//            catch (Exception ex)
//            {
//                bool rethrow = ExceptionPolicy.HandleException(ex, ExceptionPolicyNames.DataAccessPolicy);
//                if (rethrow)
//                    throw;
//            }
//            finally
//            {
//                if (con != null) con.Close();
//            }
			
//        }

//        public BusinessEntities.Customer GetOne(object key)
//        {
//            Customer result = null; 
//            SqlConnection con = null;
//            try
//            {
//                string str = ConfigurationManager.ConnectionStrings[Constants.ConnectionNames.S3Connection].ConnectionString;
//                con = new SqlConnection(str);
//                var cmd = con.CreateCommand();
//                cmd.CommandText = "select Id, FirstName, LastName, BirthDate from Customers where Id=@Id";
//                cmd.Parameters.AddWithValue("@Id", key);
//                con.Open();
//                using (var reader = cmd.ExecuteReader())
//                {
//                    var idindex = reader.GetOrdinal("Id");
//                    var idfn = reader.GetOrdinal("FirstName");
//                    var idln = reader.GetOrdinal("LastName");
//                    var idBd = reader.GetOrdinal("BirthDate");
//                    if (reader.Read())
//                    {
//                        result = new Customer();
//                        result.Id = reader.GetGuid(idindex);
//                        result.FirstName = reader.GetString(idfn);
//                        result.LastName = reader.GetString(idln);
//                        result.BirthDate = reader.GetDateTime(idBd);
//                    }
//                }            
			
//            }
//            catch (Exception ex)
//            {
//                bool rethrow = ExceptionPolicy.HandleException(ex, ExceptionPolicyNames.DataAccessPolicy);
//                if (rethrow)
//                    throw;
//            }
//            finally
//            {
//                if (con != null) con.Close();
//            }
//            return result;
			
//        }

//        public bool Update(Customer customer)
//        {
//            throw new NotImplementedException();
//        }

//        #endregion



//        #region ICustomerRepository Members


//        public IEnumerable<Customer> GetAll()
//        {
//            throw new NotImplementedException();
//        }

//        #endregion

//        #region ICustomerRepository Members


//        void ICustomerRepository.Update(Customer customer)
//        {
//            throw new NotImplementedException();
//        }

//        #endregion
//    }
//}
